package main
import (
	"fmt";
	"sort"
)


func selectSort(slice []int){
	for i:=0;i<len(slice);i++{
		for j:=i+1;j<len(slice);j++{
			if slice[j]<slice[i]{
				tmp:=slice[i]
				slice[i]=slice[j]
				slice[j]=tmp
			}
		}
	}

}
func bubbleSort(slice []int){
	for i:=0;i<len(slice);i++{
		for j:=0;j<len(slice)-1-i;j++{
			if(slice[j]<slice[j+1]){
				tmp:=slice[j]
				slice[j]=slice[j+1]
				slice[j+1]=tmp
			}
		}
	}

}

func sortMap(map1 map[string]string)(string){
	var str string
	var sliceStr []string

	for key,_:=range map1{
		sliceStr=append(sliceStr,key)
	}

	sort.Strings(sliceStr)
	for _,val:=range sliceStr{
		str+=fmt.Sprintf("%s=>%s ",val,map1[val])
	}

	return str
}

func main(){
	slice:=[]int{45,56,89,77,15,25,65,12}
	selectSort(slice)
	fmt.Println(slice)
	bubbleSort(slice)
	fmt.Println(slice)

	map1:=map[string]string{
		"name":"yyy",
		"age":"18",
		"sex":"male",
		"height":"180",
	}
	//将map中的key,val按照key进行排序
	//将key进行排序后的val进行拼接返回
	str:=sortMap(map1)

	fmt.Println(str)
}